<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script>
    //1、函数参数默认值
    function add(a,b){
        b = b || 1; //判断b是否为空，为空就给默认值1
        return a+b;
    }
    //传一个参数
    console.log(add(10))//11
    console.log(add(10,10))//20

    //现在可以这么写
    function add2(a,b = 1){
        return a + b;
    }
    //传一个参数
    console.log(add2(10));

    //2、不定参数
    //1）、一个参数
    function fun(...values){
        console.log(values.length)
    }
    fun(1,2)
    fun(1,2,3,4)

    //3、箭头函数
    var print = function(obj){
        console.log(obj);
    }
    print(100);
    //可以简写为:
    var println = obj => console.log(obj);
    //测试调用
    println(100)

    //2）、多个参数
    //两个参数的情况
    var sum = function(a,b){
        return a + b;
    }
    //简写为:
    var sum2 = (a,b) => a + b;
    console.log(sum2(10,10))

    //3）、箭头函数结合结构表达式
    //需求：声明一个对象，hello方法需要对象的个别属性
    //以前的声明方式:
    const person = {
        name:"jack",
        age:21,
        language:['java','js','css']
    }

    function hello(person){
        console.log("hello,"+person.name)
    }

    hello(person);

    //现在的方式
    var hello2 = ({name}) => {console.log("hello,"+name)};
    //测试
    hello2(person);

</script>
<body>
    
</body>
</html>